78 uint8_t ADC_Result[3];
81 WDT_A_hold(WDT_A_BASE);
90 ADC10_A_init(ADC10_A_BASE,
91 ADC10_A_SAMPLEHOLDSOURCE_SC,
92 ADC10_A_CLOCKSOURCE_ADC10OSC,
93 ADC10_A_CLOCKDIVIDER_1);
95 ADC10_A_enable(ADC10_A_BASE);
102 ADC10_A_setupSamplingTimer(ADC10_A_BASE,
103 ADC10_A_CYCLEHOLD_16_CYCLES,
104 ADC10_A_MULTIPLESAMPLESENABLE);
106 ADC10_A_setResolution(ADC10_A_BASE,
107 ADC10_A_RESOLUTION_8BIT);
116 ADC10_A_configureMemory(ADC10_A_BASE,
118 ADC10_A_VREFPOS_AVCC,
119 ADC10_A_VREFNEG_AVSS);
131 DMA_initParam
param = {0};
132 param.channelSelect = DMA_CHANNEL_0;
133 param.transferModeSelect = DMA_TRANSFER_REPEATED_SINGLE;
134 param.transferSize = 3;
135 param.triggerSourceSelect = DMA_TRIGGERSOURCE_24;
136 param.transferUnitSelect = DMA_SIZE_SRCBYTE_DSTBYTE;
137 param.triggerTypeSelect = DMA_TRIGGER_RISINGEDGE;
144 DMA_setSrcAddress(DMA_CHANNEL_0,
145 ADC10_A_getMemoryAddressForDMA(ADC10_A_BASE),
146 DMA_DIRECTION_UNCHANGED);
153 DMA_setDstAddress(DMA_CHANNEL_0,
154 (uint32_t)(uintptr_t)&ADC_Result[0],
155 DMA_DIRECTION_INCREMENT);
158 DMA_clearInterrupt(DMA_CHANNEL_0);
159 DMA_enableInterrupt(DMA_CHANNEL_0);
162 DMA_enableTransfers(DMA_CHANNEL_0);
167 while (ADC10_A_isBusy(ADC10_A_BASE)) ;
171 ADC10_A_startConversion(ADC10_A_BASE,
172 ADC10_A_SEQOFCHANNELS);
175 __bis_SR_register(CPUOFF + GIE);
184 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
186 #elif defined(__GNUC__)
187 __attribute__((interrupt(DMA_VECTOR)))
190 switch (__even_in_range(DMAIV,16)){
MPU_initThreeSegmentsParam param
__bic_SR_register_on_exit(LPM3_bits|GIE)